<template>

<div id="chart" :style="{width:width}"   >chart</div>
</template>

<script>

export default {

props:{

 fun:{

type:Function,

 },

title:{

type:String,

default:''

 }

 },

data(){ 

return {


width: document.body.clientWidth-100,
height:document.body.clientHeight/4

}

},
watch:{
 width(val){
   // 为了避免频繁触发resize函数导致页面卡顿，使用定时器
    if(!this.timer){
        // 一旦监听到的width值改变，就将其重新赋给data里的width
        this.width = val
        this.timer = true
        let that = this
        that.Chart()
        setTimeout(function(){
            // 打印width变化的值
            // eslint-disable-next-line no-console
            // console.log(that.width)
            that.timer = false
        },400)
    }
 },
 height(val){
         // 为了避免频繁触发resize函数导致页面卡顿，使用定时器
    if(!this.timer){
        // 一旦监听到的width值改变，就将其重新赋给data里的height
        this.height = val
        this.timer = true
        let that = this
        that.Chart()
        setTimeout(function(){
            // 打印height变化的值
            // eslint-disable-next-line no-console
            // console.log(that.height)
            that.timer = false
        },400)
    }
 }

},

components: {

},

computed: {

evenNumbers: function () {

return this.key.filter(function (number) {

return number % 3 === 0

})

}

},

beforeCreate:function (){ 



 },

created:function (){

 // 在实例创建完成后被立即调用。在这一步，实例已完成以下的配置：数据观测 (data observer)，属性和方法的运算，watch/event 事件回调。然而，挂载阶段还没开始，el 属性目前尚不可用。



 },

 beforeMount:function (){

},

mounted(){
  window.onresize=()=>{
     this.width = document.body.clientWidth-100
     this.height = document.body.clientHeight/4
  }
  this.Chart()
},
methods: {

// 在挂载开始之前被调用：相关的 render 函数首次被调用。

Chart(){
      // 在实例初始化之后，数据观测 (data observer) 和 event/watcher 事件配置之前被调用。

// 基于准备好的dom，初始化echarts实例
// eslint-disable-next-line no-unused-vars
var myChart = this.echarts.init(document.getElementById('chart'));

       myChart.resize({height:this.height,width:this.width});


// 绘制图表
myChart.setOption({

    tooltip: {
        trigger: 'axis'
    },
    legend: {
        data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
    },
    grid: {
        left: '0%',
        right: '0%',
        bottom: '0%',
        containLabel: true
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name: '邮件营销',
            type: 'line',
            stack: '总量',
            data: [1210, 132, 101, 134, 90, 230, 210],
               smooth: true
        },
        {
            name: '联盟广告',
            type: 'line',
            stack: '总量',
            data: [290, 182, 591, 234, 290, 330, 310],
               smooth: true
        },
        {
            name: '视频广告',
            type: 'line',
            stack: '总量',
            data: [150, 232, 201, 254, 390, 330, 410],
               smooth: true
        },
        {
            name: '直接访问',
            type: 'line',
            stack: '总量',
            data: [320, 332, 301, 334, 390, 330, 320],
               smooth: true
        },
        {
            name: '搜索引擎',
            type: 'line',
            stack: '总量',
            data: [820, 932, 901, 934, 1290, 1330, 1320],
               smooth: true,
                 areaStyle: {}
        }
    ],
 
    

})



}
}

}

</script>

<style lang='scss' scope>
  #chart {
 
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    // overflow: hidden;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    background-color: #fff;
 
  }
</style>
